package com.sann.entity;

import lombok.Data;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Component
@Slf4j
@ToString
@Data
public class Dog {

    private String name;
    private Integer age;

    public Dog(){
      log.info("Dog 构造器被调用......");
    }

    /**
     * 在Bean创建完成并赋值完成，来执行该回调方法
     */
    @PostConstruct
    public void init(){
        log.info("Dog @PostConstruct 初始化方法被调用......");
    }

    /**
     * 在容器销毁该Bean之前，执行该回调方法完成我们自己业务需要清理的工作
     */
    @PreDestroy
    public void destroy(){
        log.info("Dog @PreDestroy 销毁方法被调用......");
    }

}
